import js from '@eslint/js';
import ts from '@typescript-eslint/eslint-plugin';
import tsParser from '@typescript-eslint/parser';
import vuePlugin from 'eslint-plugin-vue';
import vueParser from 'vue-eslint-parser'; // 引入 vue-eslint-parser

export default [
  {
    files: ['**/*.ts', '**/*.vue'],
    languageOptions: {
      parser: vueParser, // 使用 vue-eslint-parser 作为主解析器
      parserOptions: {
        parser: tsParser, // 使用 @typescript-eslint/parser 解析 TypeScript
        ecmaVersion: 'latest',
        sourceType: 'module',
      },
      globals: {
        describe: 'readonly',
        it: 'readonly',
        expect: 'readonly',
        console: 'readonly',
        jest: 'readonly',
        beforeEach: 'readonly',
        afterEach: 'readonly',
        setInterval: 'readonly',
        clearInterval: 'readonly'
        // 其他 Jest 全局变量...
      },
    },
    plugins: {
      '@typescript-eslint': ts,
      vue: vuePlugin,
    },
    rules: {
      // 在这里添加你的规则
      'no-console': 'warn',
      'no-unused-vars': 'warn',
      'vue/multi-word-component-names': 'off',
      // 其他规则...
    },
  },
  js.configs.recommended,
];
